Body Motion Detection with Webcam in TouchDesigner
hr.icon
1. はじめに
ここではKinetc等のDepth Cameraを利用せず、一般的なウェブカメラによるフレーム差分での簡易動作解析を紹介する。動作解析処理について深く知りたい人はComputer Vision分野(OpenCV等)を学ぶと理解が深まる。
https://gyazo.com/95c878bf9166631c0ec0c82b10502bf1
参考
Cache TOPを使う方法
Time Displacement(Texture 3D TOPとTime Machine TOP)を使う方法
hr.icon
2. TouchDesignerの起動と準備
TouchDesignerを起動後、スタートアップオペレータは削除して、Paletteを閉じる。
https://gyazo.com/8849f702f97ceda9588109fc1ef6ce9f
hr.icon
3. Video Device In TOP
Video Device In TOPを追加する。
必要に応じて、Video Inタブ > Deviceの接続カメラを切り替える。
下図はViewerがOFFの状態だが、授業内ではONにして解説する。
https://gyazo.com/55e8eb9d0f0a2278cec9b348a5675962
NON-COMMERCIAL版では出力解像度に制限があるため接続カメラの解像度が高いと警告マークが出るので、Commonタブの以下を変更する。
Output Resolution: Custom Resolution
Resolution: 1280, 720
https://gyazo.com/78d01b8704f9bce9cae14bfc3a71e090
hr.icon
4. Cache TOPとCache Select TOP
Cache TOPを追加して、Video Device In TOPと接続する。
Cache Sizeは32(初期値)のまま変更しない。
https://gyazo.com/19147932ac7b0852779f8443348cbd67
Cache Select TOPを追加して、Cache TOPを食わせる(ドラック&ドロップ)。
Cache Index: -5(5フレーム差分、60fps)とする。
Cache Select TOPのCache Indexは、Cache TOPのCache Sizeで溜めたフレーム(初期値32)以下にはできない。仮に設定しても処理されない。
https://gyazo.com/6a4e8a97d0a37ee2dfc465b3a81040c1
hr.icon
5. Composite TOP
Composite TOPを追加して、Cache TOPとCache Select TOPを接続する。
Operation: Substractionに設定する。
60fpsの5フレーム差分画像が表示される。
https://gyazo.com/62d9426d399ad40190145cf3b1a2b8dd
hr.icon
6. 調整用オペレータ
下図のように画像調整用のオペレータを追加する。
パラメータは一例であり、調整しだいで最終出力画像が変化する。
Level TOP
Brightness: 2
Threshold TOP
Threshold: 0.2
Blur TOP
Pre-Shrink: 0.2
Filter Size: 32
Level TOP
Brightness: 10
RGB Key TOP
https://gyazo.com/bc7fb335a71ac0f8e171066f279569a5
hr.icon
7. 応用編Trace SOP(紹介のみ)
Trace SOPを利用すれば、ビットマップではなくベクター?に変換できる。
SOPをTOPとして利用するためには、Geometry COM、Camera COMP、Light COMP、Render TOPを介して、Cameraの位置を調整する必要がある。
https://gyazo.com/7db8775149f79173073e512d05d2064c